এই অধ্যায়ে আপনি লাইব্রেরী ফাংশন যেমন- gets(), puts(), strlen() ইত্যাদি ফাংশন ব্যবহার করে সি প্রোগ্রামিং এ স্ট্রিং পরিচালনা(manipulate) করা শিখবেন। এছাড়া আপনি ইউজার থেকে স্ট্রিং(string) গ্রহণ করে স্ট্রিং এর উপর বিভিন্ন অপারেশন চালাতে শিখবেন।
লাইব্রেরী ফাংশন- স্ট্রিং পরিচালনা
সমস্যার ধরন অনুযায়ী আপনাকে প্রায়ই স্ট্রিং ব্যবহার করতে হতে পারে। আপনি যদি ম্যানুয়ালি নিখুঁতভাবে স্ট্রিং পরিচালনা(manipulation) করতে চান তাহলে ইহা অনেক জটিল হতে পারে এং বেশীরভাগ সময়েই আপনাকে সমস্যায় পড়তে হতে পারে।
তাই আমরা আপনাকে এই সমস্যা থেকে উত্তরণের জন্য সি লাইব্রেরী ফাংশন ব্যবহারের জন্য সুপারিশ করছি।
স্টান্ডার্ড লাইব্রেরী ফাংশন:"string.h" এর অধীনে স্ট্রিং পরিচালনার জন্য অসংখ্য ফাংশন রয়েছে।
স্ট্রিং পরিচালনার জন্য সচরাচর ব্যবহৃত ফাংশন এবং তাদের কাজ নিম্নে তুলে ধরা হলোঃ
| ফাংশন | ফাংশনের কাজ |
|---|---|
| strlen() | স্ট্রিং(string) এর দৈর্ঘ্য নির্ণয় করে। |
| strcpy() | এক স্ট্রিং(string) কে অন্য স্ট্রিং এর মধ্যে কপি(Copy) করে। |
| strcat() | দুটি স্ট্রিং এর সংযোগ(Concatenation) ঘটায়। |
| strcmp() | দুটি স্ট্রিং এর মধ্যে তুলনা(compare) করে। |
| strlwr() | স্ট্রিংকে ছোট হাতের বর্ণে(lowercase) রূপান্তর করে। |
| strupr() | স্ট্রিংকে বড় হাতের বর্ণে(uppercase) রূপান্তর করে। |
| strrev() | স্ট্রিংকে বিপরীত(reverse) ক্রমে সাজায়। |
| strstr() | স্ট্রিং থেকে উপস্ট্রিং খুজে বের করে। |
স্ট্রিং(String) পরিচালনার(handling) ফাংশন-সমূহ "string.h" হেডার ফাইলের অধীনে ডিফাইন্ড(defined) করা আছে।
সুতরাং স্ট্রিং পরিচালনার ফাংশন-সমূহ আপনার প্রোগ্রামে রান(run) করানোর জন্য নিম্নোক্ত কোড যোগ করতে হবে।
#include <string.h>
gets() এবং puts()
সি প্রোগ্রমামিং এ স্ট্রিং গ্রহণ এবং প্রদর্শনীর জন্য যথাক্রমে লাইব্রেরী ফাংশন gets() এবং puts() ব্যবহার করা হয়।
#include<stdio.h>
int main()
{
char name[30];
printf("Enter name: ");
gets(name); //ইউজার থেকে স্ট্রিং গ্রহণের ফাংশন
printf("Name: ");
puts(name); //স্ট্রিং প্রদর্শনীর ফাংশন
return 0;
}
নোটঃ স্ট্রিং পরিচালনার জন্য gets() এবং puts() উভয় ফাংশন "stdio.h" হেডার ফাইলে ডিফাইন্ড করা আছে।
সি strlen() ফাংশন
strlen() ফাংশন একটি স্ট্রিং এর দৈর্ঘ রিটার্ন করে। ইহা null ক্যারেক্টার ('\0') গণনা করে না।
উদাহরণঃ নিচের উদাহরণে strlen() ফাংশনের মাধ্যমে ch[30] স্ট্রিং এর দৈর্ঘ্য নির্ণয় করে দেখানো হলোঃ
kt_satt_skill_example_id=434
সি strcpy()ফাংশন
strcpy(destination, source) ফাংশন source স্ট্রিং থেকে স্ট্রিংকে destination এ কপি করে।
উদাহরণঃ নিচের উদাহরণে strcpy() ফাংশনের মাধ্যমে ch1[30] স্ট্রিংকে ch2[30] স্ট্রিং এর মধ্যে কপি করে দেখানো হলোঃ
kt_satt_skill_example_id=437
সি strcat() ফাংশন
strcat(first_string, second_string) ফাংশন দুটি স্ট্রিংকে একসঙ্গে যোগ(concatination) করে প্রথম স্ট্রিং হিসাবে রিটার্ন করে।
kt_satt_skill_example_id=441
সি strcmp() ফাংশন
strcmp(first_string, second_string) ফাংশন দুটি স্ট্রিং এর মধ্যে তুলনা করে এবং উভয় স্ট্রিং সমান হলে 0(শূণ্য) রিটার্ন করে।
কনসোল থেকে স্ট্রিং পাঠ(read) করার জন্য এখানে আমরা gets() ফাংশন ব্যবহার করেছি।
kt_satt_skill_example_id=443
সি strlwr() ফাংশন
strlwr(string) ফাংশন একটি স্ট্রিংকে ছোট হাতের বর্ণে রুপান্তর করে।
kt_satt_skill_example_id=445
সি strupr() ফাংশন
strupr(string) ফাংশন একটি স্ট্রিংকে বড় হাতের বর্ণে রুপান্তর করে।
kt_satt_skill_example_id=447
সি strrev() ফাংশন
strrev(string) ফাংশন একটি স্ট্রিংকে উল্টিয়ে ফেলে। অর্থাৎ স্ট্রিং এর প্রথম ক্যারেক্টারগুলো শেষে এবং শেষ ক্যারেক্টারগুলো প্রথমে আসে।
kt_satt_skill_example_id=451
সি strstr() ফাংশন
Strstr() ফাংশন প্রদত্ত স্ট্রিং এর মধ্যে মিলিত স্ট্রিং এর প্রথম সংঘটনের পয়েন্টার রিটার্ন করে। এটি substring এর মিলিত প্রথম অক্ষর থেকে সর্বশেষ অক্ষর পর্যন্ত রিটার্ন করে।
সিনট্যাক্স:
char *strstr(const char *string, const char *match)
সিনট্যাক্সের ব্যাখ্যাঃ
string: ইহা দ্বারা স্ট্রিং এর সম্পূর্ণ অংশকে বুঝায়। যেখান থেকে substring সার্স করা হবে।
match: ইহা হচ্ছে submatch যা সম্পূর্ণ স্ট্রিং থেকে সার্স করা হবে।
kt_satt_skill_example_id=453
Read more